package org.example.reservas_mesas;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.NumberPicker;
import android.widget.TimePicker;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import org.example.library.ErrorReserva;
import org.example.library.HacerReservas;
import org.example.library.Invoker;
import org.example.library.ServidorPHP;

public class reservas extends Activity {
    
    TimePicker hora;
    int idrestaurante;
    DatePicker fecha;
    NumberPicker ncomensales;
    Button reservar;
    String usuario;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        
        super.onCreate(savedInstanceState);      
        setContentView(R.layout.reservas);
        
        hora = (TimePicker) findViewById(R.id.timepicker);
        hora.setIs24HourView(Boolean.TRUE);
        Bundle extras = getIntent().getExtras();
        idrestaurante = extras.getInt("id");
        fecha= (DatePicker) findViewById(R.id.datepciker);
        ncomensales = (NumberPicker) findViewById(R.id.numeroComensales);
        reservar =(Button) findViewById(R.id.reservar);
        usuario = extras.getString("usuario");
        
        ncomensales.setMinValue(1);
        ncomensales.setMaxValue(100);
        ncomensales.setValue(1);

        reservar.setOnClickListener(new View.OnClickListener(){
            public void onClick(View view){
                GregorianCalendar calendario = new GregorianCalendar();
                DateFormat formato = new DateFormat();
                
                calendario.setTimeZone(TimeZone.getDefault());
                calendario.set(fecha.getYear(), fecha.getMonth(), fecha.getDayOfMonth(), hora.getCurrentHour(), hora.getCurrentMinute());
                formato.format("yyyy-MM-dd HH:mm", calendario);

                Invoker invoker = new Invoker();
                ServidorPHP servidor = new ServidorPHP();
                servidor.SetMailComensal(usuario);
                servidor.SetIDRestaurante(idrestaurante+"");
                servidor.SetFechaReserva(formato.format("yyyy-MM-dd kk:mm", calendario).toString());
                servidor.SetNumeroComensal(ncomensales.getValue()+"");
                HacerReservas HR = new HacerReservas(servidor);

                invoker.SetPeticion(HR);
                invoker.Ejecuta();
                
                if(servidor.GetResultado() == null && servidor.GetResultado().get(0).get("estado").equals(0+"")){
                    ErrorReserva errores = new ErrorReserva();
                    errores.printerror(getApplicationContext());  
                }

                Intent i=new Intent(reservas.this, usuario.class);
                i.putExtra("usuario",usuario);
                startActivity(i);
            }
        });
    }
}
